Godot3.5 弾を消してスコアアイテムに変換
https://gyazo.com/baa9dc3350ad50c4e793ff78170cdc5d
こんな感じで弾をコインに変換してチャリンチャリン入手すると気持ちいい
弾が消えるタイミングで、コインインスタンスを弾と同じ位置に生成
code:gd
func _on_free_bullets():
# コインに変わってピロンって音させたい
var _coin = coin.instance()
_coin.global_position = global_position + Vector2(0, -4)
get_tree().root.add_child(_coin)
queue_free()
コインインスタンスはアニメーションを再生した後にプレイヤーに向かって移動し、プレイヤーの近くまでいったら音を鳴らして消える
code:gd
extends Node2D
var going_to_player = false
export(int) var speed = 350
var player
onready var free_timer = $FreeTimer
func _on_EffectTimer_timeout() -> void:
going_to_player = true
player = get_tree().root.get_node("Main").get_node("Player")
free_timer.start()
# プレイやーに向かって超速で向かって入手で音鳴らす
func _process(delta: float) -> void:
if going_to_player:
var dir = (player.global_position - global_position).normalized()
position += dir * speed * delta
if global_position.distance_to(player.global_position) < 2:
_on_Timer_timeout()
func _on_Timer_timeout() -> void:
Global.add_score(1)
AudioManager.play_coin_se()
queue_free()